package constants

// 充电模式
type ChargeMode int

const (
	ChargeModeTimeMode           ChargeMode = iota // 0: 时间模式
	ChargeModeEnergyMode         ChargeMode = 1    // 1: 电量模式
	ChargeModePowerMode          ChargeMode = 2    // 2: 功率模式
	ChargeModeTimeMode2          ChargeMode = 7    // 7: 时间模式2
	ChargeModeEnergyMode2        ChargeMode = 8    // 8: 电量模式2
	ChargeModePowerMode2         ChargeMode = 9    // 9: 功率模式2
	ChargeModeStandardEnergyMode ChargeMode = 11   // 11: 标准电量模式（汽车交流桩）
)

// 重启类型
type RestartType int

const (
	RestartTypeModule          RestartType = iota // 0: 模块重启
	RestartTypeMicrocontroller                    // 1: 单片机重启
)

// 设备类型
type DeviceType int

const (
	DeviceTypeNormalSlowCharge    DeviceType = iota // 0: 普通慢充款
	DeviceTypePowerSlowCharge     DeviceType = 1    // 1: 功率慢充款
	DeviceTypeEnergySlowCharge    DeviceType = 2    // 2: 电量慢充款
	DeviceTypeFastCharge          DeviceType = 3    // 3: 快充款
	DeviceTypePower10             DeviceType = 4    // 4: 功率款10
	DeviceTypeEnergy20            DeviceType = 5    // 5: 电量款20
	DeviceTypeDualPowerSlowCharge DeviceType = 6    // 6: 两路功率慢充
	DeviceTypeNormalPower         DeviceType = 8    // 8: 普通功率款
	DeviceTypeLoraGateway         DeviceType = 9    // 9: lora网关
	DeviceTypeLoraNode            DeviceType = 10   // 10: lora节点
	DeviceTypePower10C            DeviceType = 11   // 11: 功率款10C
	DeviceTypeCarACCharger70      DeviceType = 12   // 12: 汽车交流桩70
	DeviceTypeCarSlowCharger      DeviceType = 13   // 13: 汽车慢充桩
	DeviceTypeCarACChargerDualGun DeviceType = 18   // 18: 汽车交流桩双枪
	DeviceTypeCarFastCharger      DeviceType = 17   // 17: 汽车快充桩
	DeviceTypeDualPower10A        DeviceType = 19   // 19: 两路功率款-10A
	DeviceTypeDualPower16A        DeviceType = 20   // 20: 两路功率款-16A
	DeviceTypeCarHomeCharger      DeviceType = 21   // 21: 汽车家用充电桩
)

// 设置端口结果类型
type IsErrorType int

const (
	IsErrorTypeOK    IsErrorType = iota // 0: 设置端口正常
	IsErrorTypeNotOK                    // 1: 设置端口故障
)

// fixed 固定  ; custom 自定义
type ChargeType string

const (
	ChargeTypeFixed  ChargeType = "fixed"  //  fixed 固定
	ChargeTypeCustom ChargeType = "custom" //  custom 自定义
)

// 是否可退款: 0 不可退款; 1 可退款
type WhetherRefund int

const (
	WhetherRefundNo WhetherRefund = iota
	WhetherRefundYes
)

// 是否免费充电: 0 付费充电; 1 免费充电
type IsFreeCharge int

const (
	IsFreeChargeNeedPay IsFreeCharge = iota
	IsFreeChargeYes
)

// 是否禁止断电: 0 不禁止; 1 禁止
type IsOutage int

const (
	IsOutageNoLimit IsOutage = iota
	IsOutageLimited
)
